package br.com.winesys.geta.validator;

import java.util.Calendar;
import java.util.Date;

/**
 * Valida se o objeto é uma data.
 */
public final class DateValidator implements Validator {

	private String message;
	
	/**
	 * @param message Mensagem de erro do validador
	 */
	public DateValidator(String message) {
		this.message = message;
	}

	/**
	 * Verifica se foi informado uma Data<p>
	 * 
	 * Uma data é uma instância de <b>Date</b> ou <b>Calendar</b>.<br>
	 * O valor <b>null</b> não é uma data.
	 */
	@Override
	public boolean validate(Object obj) {
		if (obj == null || !(obj instanceof Date || obj instanceof Calendar)) {
			return false;
		}
		return true;
	}

	@Override
	public String getMessage() {
		return this.message;
	}
}
